package com.bwda.dsrs.filecenter.service;

import com.bwda.dsrs.filecenter.domain.condition.home.HomeCountCondition;
import com.bwda.dsrs.filecenter.domain.vo.HomeCountVo;

import java.util.List;

/**
 * Home count service
 * @author Administrator
 */
public interface HomeCountService extends BaseService<HomeCountVo, HomeCountCondition> {

	/**
	 * 获取数据库类型统计
	 *
	 * @return list
	 */
	List<HomeCountVo> selectDbTypeCount();

	/**
	 * 统计敏感信息和不敏感信息
	 *
	 * @return list
	 */
	List<HomeCountVo> selectLevelCount();

	/**
	 * 统计敏感类别数据
	 *
	 * @return list
	 */
	List<HomeCountVo> selectLevelTypeCount();

	/**
	 * 统计数据库和级别
	 *
	 * @return list
	 */
	List<HomeCountVo> selectDbInfoTypeCount();

	/**
	 * t数据标签信息汇总
	 *
	 * @return list
	 */
	List<HomeCountVo> selectWordIdCount();


	/**
	 * 历史数据统计敏感信息
	 *
	 * @param taskId        task id
	 * @param taskHistoryId task history id
	 * @return the int
	 */
	int queryLevelCount(Long taskId,Long taskHistoryId);

	/**
	 * 历史数据统计数据标签总数
	 *
	 * @param taskId        task id
	 * @param taskHistoryId task history id
	 * @return the int
	 */
	int querySensLabelCount(Long taskId,Long taskHistoryId);

	/**
	 * 统计历史敏感信息和不敏感信息
	 *
	 * @param taskId        task id
	 * @param taskHistoryId task history id
	 * @return list
	 */
	List<HomeCountVo> queryLevelsCount(Long taskId,Long taskHistoryId);

	/**
	 * 统计历史敏感信息占比
	 *
	 * @param taskId        task id
	 * @param taskHistoryId task history id
	 * @return list
	 */
	List<HomeCountVo> queryLevelTypeCount(Long taskId,Long taskHistoryId);

	/**
	 * 历史数据标签信息汇总
	 *
	 * @param taskId        task id
	 * @param taskHistoryId task history id
	 * @return list
	 */
	List<HomeCountVo> queryWordIdCount(Long taskId,Long taskHistoryId);
}